Whenever you deal with networking for Linux or any UNIX product, you inevitably deal
with TCP/IP. The term TCP/IP has become a catch-all phrase for many things, most of which
don't really apply to the network protocol. Understanding what TCP/IP is isn't strictly
necessary to install TCP/IP networking on your Linux machine, but it does help. This
chapter begins with a look at network terminology. Then it defines what TCP/IP is and does
and what IP addressees and Domain Names are. It ends with a look at the basics of
networking.
Unfortunately, it's difficult to talk about networking unless the terms used are well
understood, because a lot of terms in common usage can mean different things depending on
the context. To avoid confusion, it's better to begin with the basic definitions. Each
term has a formal, rigorous definition, usually in some standard document. Standards are
not written in easily understood language usually, so we've tried to simplify the terms a
little and use generalizations where possible.
A server is any machine that can provide files, resources, or services for you. Any
machine that you request a file from is a server. In fact, that's the essence of
client/server systems, where one machine (the client) requests something from another (the
server). One machine may be both client and server many times.
The more common definition for server is directly related to local area networks, where
the server is a powerful machine that holds all the files and large applications. The
other machines on the network connect to the server to access their files. In this type of
network, a single machine usually acts as the server (and all the others are clients).
Large server-based networks may have special servers for specific purposes. For
example, one server may handle files for the network (the file server), another may handle
all print requests (the print server), yet another may handle connections to the outside
world through modems (the communications server), and so on. One or more of these
functions may be on any individual machine on the network, or you may have several
machines on a large network acting as a specific kind of server. You may have two file
servers, for example.
For our purposes in this section, we will need to use both the central and
client/server definitions of server, depending on the type of LAN and network services we
are dealing with. Simply put, the server is the machine that your machine requests
something from.
As you may have figured out from the definition of server, a client is any machine that
requests something from a server. In the more common definition of a client, the server
supplies files and sometimes processing power to the smaller machines connected to it.
Each machine is a client. Thus, a typical ten PC local area network may have one large
server with all the major files and databases on it, and all the other machines connect as
clients.
In the client/server sense of the word, a client is the machine that initiates a
request to the server. This type of terminology is common with TCP/IP networks, where no
single machine is necessarily the central repository.
Small networks that comprise a server and a number of PC or Macintosh machines
connected to the server are common. Each PC or Macintosh on the network is called a node.
A node essentially means any device that is attached to the network (regardless of the
size of the network). Since each machine has a unique name or number (so the rest of the
network can identify it), you will hear the term node name or node number quite often. It
is more proper to describe each machine as a client, although the term node is in common
use. On larger networks involving thousands of workstations and printers, each device is
still called a node. If the device has an address on the network, it is a node.
A local resource is any device that is attached to your machine, such as a printer,
modem, scanner, or hard disk. Since the machine doesn't have to go out to the network to
get to the device, it is called a local device or local resource.
Following the same logic, any device that must be reached through the network is a
remote resource. Any devices attached to a server, for example, are remote resources. A
high-speed color laser printer that may be part of the network is also a remote resource.
A network operating systemoften called a NOScontrols the interactions
between all the machines on the network. The NOS is responsible for controlling the way
information is sent over the network medium (a coaxial or twisted pair cable, for
example). It handles the way in which data from a machine is packaged and sent to others,
as well as what happens when two or more machines try to send information at the same
time. The NOS can also handle shared peripherals, such as a laser printer, scanner, or
CD-ROM drive that is on one machine but is accessible by other machines on the network.
With local area networks that have a single server and many clients hanging off it, the
NOS resides on the server. This is the way Novell's NetWare works. The main part of the
NOS sits on the server, while smaller client software packages are loaded onto each
client.
With larger networks that don't use a single server, such as a Linux network running
TCP/IP, the NOS may be part of each machine's software. Linux, for example, has the
networking code for TCP/IP built into the operating system kernel so it is always
available. A PC that wants to connect to the TCP/IP network must have a software package
installed that handles the TCP/IP protocol.
Networks such as Microsoft Windows for Workgroups and Artisoft's LANtastic do not use a
single primary server (although they can). Instead, each machine acts as its own server,
containing all the NOS that is needed to talk to any other machine on the network.
The network protocol is the name of the communications system by which machines on the
network interact. On a UNIX system, for example, TCP/IP (Transmission Control
Protocol/Internet Protocol) is the most common. TCP/IP is the network protocol. (Actually,
TCP/IP is a whole family of protocols, but we'll deal with that later.) Novell NetWare
usually uses a network protocol called IPX (InterPacket Exchange).
The different protocols mostly use the same approach to communications: they assemble
information into blocks of data called a packet, and send that across the network.
However, the way the packet is made up, and the type of information attached to control
its routing, differs with each NOS.
The network interface card (NIC) is an adapter that usually sits in a slot inside your
PC. Some NICs now plug into parallel or SCSI ports on the back of your system. These are
very useful for portable machines, although they are still rare for desktops.
The network interface card handles the connection to the network itself through one or
more connectors on the backplane of the card. The most common network connectors are
similar to telephone jacks, with coaxial cable (like cable TV) a close second. You must
make sure that the network interface card you are using in your machine works with the
network operating system.
You may hear the terms bridge and router often. They are simply machines that connect
two or more networks together. The difference between a bridge and a router is that a
bridge simply connects two local area networks running the same network operating system
(it acts as a bridge between two LANs primarily to reduce traffic on the larger network),
while a router connects LANs that may be running different operating systems. The router
can have special software that converts one NOS' packets to the other's.
A router is more complicated than a bridge, in that it can make decisions about where
and how to send packets of information (routing it, hence the name) to its destination. A
brouter is a relatively new device that combines the capabilities of both bridges and
routers (hence its name).
In common usage terms, a gateway is a machine that acts as an interface between a small
network and a much larger one, such as a local area network connecting to the Internet.
Gateways are also used in large corporations, for example, to connect small, office-based
LANs to the larger corporate mainframe network. Usually, the gateway connects to a
high-speed network cable or medium called the backbone. More formally, a gateway can
perform protocol translations between two networks.
Put in simple terms, TCP/IP is the name of a networking protocol family. Protocols are
sets of rules that all companies and software products must adhere to in order to make
their products compatible with each other. A protocol defines how software will
communicate with each other. A protocol also defines how each part of the overall package
manages the transfer of information.
In essence, a protocol is a written set of guidelines that defines how two applications
or machines can communicate with each other, each conforming to the same standards. TCP/IP
is not restricted to the Internet. It is the most widely used networking software protocol
in the world, used for large, multi-site, corporate local area networks as well as small,
three- or four-PC LANs.
TCP/IP stands for Transmission Control Protocol/Internet Protocol, which are really two
separate protocols. Despite what many people think, the term TCP/IP refers to a whole
family of related protocols, all designed to transfer information across a network. TCP/IP
is designed to be the software component of a network. The parts of the TCP/IP protocol
family all have dedicated tasks, such as sending electronic mail, transferring files,
providing remote logon services, routing messages, or handling network crashes.
The different services involved with TCP/IP and their functions can be grouped
according to purpose. Transport protocols control the movement of data between two
machines and include the following:
Routing protocols handle the addressing of the data and determine the best means of
getting to the destination. They can also handle the way large messages are broken up and
reassembled at the destination:
Network Address protocols handle the way machines are addressed, both by a unique
number and a name:
User Services are applications a user (or a machine) can use:
Gateway Protocols help the network communicate routing and status information, as well
as handle data for local networks:
The following protocols don't fall into the categories mentioned previously, but they
provide important services over a network:
The different protocols within TCP/IP are maintained by a governing standards body that
is part of the Internet organization. Changes to the protocols occur when new features or
better methods of performing older ones are developed, but this is a rare occurrence and
usually results in backward compatibility.
The Internet is not a single network but rather a collection of many networks
communicating through TCP/IP. TCP/IP and the Internet are so closely interwoven that
TCP/IP's architecture is often called the Internet architecture. Almost from the start of
the Internet as the ARPAnet, it became obvious that existing protocols couldn't handle the
sheer volume of traffic that the network had to carry, so a project was undertaken to
develop new communications protocols.
The TCP/IP protocols were first proposed in 1973 and led to a standardized version in
1982. One of the research sites for networking software was the University of California
at Berkeley. UCB was the center of development for the UNIX operating system for many
years; the research done there also helped refine TCP/IP. In 1983, UCB released a version
of UNIX that incorporated TCP/IP as an integral part of the operating system. TCP/IP
became very popular because UNIX was widely used, especially as more sites connected to
the growing ARPAnet.
When TCP/IP was designed, all of the services that had to be provided were considered.
The best approach to implement all the services was to divide the different services into
categories, such as end-user services (file transfer and remote logon), transport services
(the way data is sent back and forth, invisible to the user), and network (how the data is
packaged for transfer). A layered architecture was developed that isolates each set of
services from the other.
A layered approach to designing the software requires more work initially, but has
several important benefits. First, since each layer is independent of the others, changes
to one service won't cause problems with other services. As new services are developed,
they can be added without changing any other parts of the software system. Most
importantly, layering makes it possible for a set of small, efficient programs to be
developed for specific tasks, each of which can be independent of the others.
One condition needed to allow layered architecture to work properly is that each layer
must know what is coming from the layer above or below. The layer may not care about the
actual contents of the message, but it must know what to do with it. For example, if you
are sending an e-mail message, you write the message and instruct the application layer to
transmit it to the destination. The application layer sends the message down the layers
until another layer sends it out across the network cable. Each layer handles the e-mail
message but has no interest in the actual contents of the message.
To simplify this task, each layer adds a block of data at the front and the back of the
message that indicates which layer is involved as well as all the other bits of
information the other layers and the receiving machine needs to handle the message
properly. The data within the message is ignored. This is called
"encapsulation," as each layer adds a capsule of information around the original
data. Each layer performs its own encapsulation, adding header and trailer blocks to the
message from the layer above. This results in several sets of headers and trailers by the
time a message makes it to the network.
Every machine that is connected to a TCP/IP-based network has to be uniquely identified
somehow. Without a unique identifier, the network wouldn't know how to get messages to
your machine. If there were more than one machine with the same identifier, the network
wouldn't know which one to send the message. To understand IP addresses, which uniquely
identify each machine, it is useful to relate to the Internet's problem of identifying not
only each machine on the huge Internet, but also each organization.
The Internet identifies networks by assigning an "Internet address" or, more
properly, an "IP address" to each company or organization on the net. IP
addresses are all 32 bits in length, and are broken into four 8-bit parts. This allows
each part to have numbers ranging from 0 to 255. The four parts are combined in a notation
called "dotted quad," which means each 8-bit value is separated by a period. For
example, "255.255.255.255" and "147.120.3.28" are both dotted quad IP
addresses. When someone asks you for your network address, they usually mean your IP
address.
Assigning IP addresses is not a simple matter of starting with the number 1 and
counting upwards. Each machine (called a host) that can be attached to the Internet needs
to be numbered. Even the dotted-quad 32-bit numbering scheme couldn't handle all the
machines just by counting them. Instead, IP addresses work by identifying a network, then
a machine on that network.
The IP address really consists of two parts: the network number and the host number
within that network. By using two parts to the IP address, machines on different networks
can have the same host number, but because the network number is different, the machines
are uniquely identified. Without this type of scheme, the numbering would become unwieldy
very quickly.
IP addresses are assigned on the basis of the size of the company or organization. If
the company is small, there is no need for many machine identifiers within the network. On
the other hand, a large corporation may have thousands of hosts. To provide for the
maximum flexibility, IP addresses are assigned according to the size of the user, called
"Class A," "Class B," or "Class C." "Class D" and
"Class E" have special purposes and are not used as part of the IP address
numbering.
The three classes allow the IP address numbers to be assigned on the basis of company
size. Since 32 bits is the total size allowable, the classes break the four 8-bit parts
into the network and host identifiers depending on the class. One or more bits is reserved
at the start of the 32-bit IP address to identify the type of class (hence, how other
machines that analyze the IP address should decode the numbers). The three classes have
the following breakdowns:
A Class A address has only a 7-bit address for the network address but 24 bits for the
host address. This allows over 16 million different host addresses, enough for the very
largest organization. Of course, there can only be 128 of these Class A addresses,
maximum.
Class B networks have 14 bits for the network and 16 bits for the host, allowing more
Class B networks but fewer hosts. Still, 16 bits allow over 65,000 hosts. Finally, Class C
IP addresses can have a maximum of 254 hosts (because the numbers 0 and 255 are reserved
for each of the parts of the IP address) but have a lot of network IDs. The majority of
networks are Class B and Class C.
It is possible to tell the type of class a company belongs to by the first number of
the IP address. The rules for the first 8-bit number are:
So, if your host machine's IP address is 147.14.87.23, you know that your machine is on
a Class B network, the network identifier is 147.14, and your host's unique number in that
network is 87.23. If the IP address is 221.132.3.123, the machine is on a Class C network
with a network identifier of 221.132.3, and a host number of 123.
Whenever a message is sent to a host anywhere on the Internet, the IP address is used
to indicate its destination and the host that sent it. Luckily, because of another TCP/IP
service called the Domain Name System, you don't have to keep track of all these IP
addresses yourself.
When a company or organization wants to use the Internet, they must decide whether they
want to do it by directly attaching to the Internet system or whether they will use
another company to supply the connection. Many companies choose to use another company,
called a service provider, because it reduces the amount of equipment, administration, and
costs involved.
If the company or organization wants to directly connect (and sometimes when they are
using a service provider), they may want to have a unique identification for themselves.
For example, ABC Corporation may want to have electronic mail through the Internet
addressed to them as "abc.com." The name helps identify the company or
organization to the sender.
To obtain one of these unique identifiers called a "domain name", the company
or organization sends a request to the body that controls access to the Internet: the
Network Information Center, or NIC. If the NIC approves the company's name, it is added to
the Internet database. Domain names must be unique, to prevent confusion.
The part of the name that comes last (such as ".com") is the domain
identifier. These are the seven domain names established by the NIC:
| .arpa | an ARPAnet-Internet identification |
| .com | commercial company |
| .edu | educational institution |
| .gov | any governmental body |
| .mil | military |
| .net | network service providers |
| .org | anything that doesn't fall into one of the other categories |
The NIC also allows special letters to identify the country of the company or
organization. Designators exist for all countries in the world, such as ".ca"
for Canada and ".uk" for the United Kingdom.
Not all companies that are outside the U.S. have country identifiers.
To some extent, the date of registration may affect the use of the country identifier, as
companies that joined the Internet when it was still relatively uncrowded would have been
given a standard identifier. Also, some non-U.S. corporations use a U.S.-based company to
register for them, giving them a choice of using a country designator or not.
The Domain Name System (DNS) is a service provided by the TCP/IP family of protocols
that helps in the addressing of messages. When you address mail to bozo@clowns_r_us.com,
the DNS system translates this symbolic name into an IP address by looking up the domain
name in a database. DNS lets you forget about those IP addresses, allowing much simpler
names: the domain name. The usual syntax for sending a message to a user on the Internet
is username@domain_name, as the "bozo" example shows. (DNS doesn't have to run
on top of TCP/IP, but it usually will on Linux systems.)
If a company decides not to get their own domain name but will use an on-line service
(such as CompuServe or America Online), a unique domain name is not needed. Instead, the
domain name of the service provider is part of the address. A user is then identified by a
name or number of the service provider, such as 12345.123@compuserve.com.
In practice, when you send a symbolic name to DNS, it doesn't check the user's actual
host, otherwise there would be millions of IP addresses in the database. Instead, DNS is
concerned with only the network part of the address, which it translates to the network IP
address and sends out over the network. When the receiving network's Internet machine
receives the message, it uses an internal database of its own to look up the user's host
and takes care of that part of the trip.
A network topology is the way the cabling is laid out. This doesn't mean the physical
layout (how it loops through walls and floors) but rather how the logical layout looks
when viewed in a simplified diagram. You may hear many different names for the type of
network you have: ring, bus, star, and so on. They all refer to the shape of the network
schematic.
One of the most widely used network topologies (and the one most often used in medium
to large Local Area Networks) is the bus network. A bus network uses a cable to which are
attached all the network devices, either directly or through a junction box of some sort.
Each device uses a transceiver to connect to the backbone. The manner of attachment
depends on the type of bus network, the protocol in use, and the speed of the network. The
main cable that is used to connect all the devices is called the backbone. Each end of the
backbone (also called a bus) is terminated with a block of resistors or similar electrical
device. Most large TCP/IP networks used by Linux are bus topologies.
A popular variation of the bus network topology is found in many small LANs. This
consists of a length of cable that snakes from machine to machine. Unlike with the bus
network, there are no transceivers along the network. Instead, each device is connected
into the bus directly using a T-shaped connector on the network interface card, often
using a connector called a BNC. The connector connects the machine to the two neighbors
through two cables, one to each neighbor. At the ends of the network, a simple resistor is
added to one side of the T-connector to terminate the network electrically.
This machine-to-machine network is not capable of sustaining the higher speeds of the
backbone-based bus network, primarily because of the medium of the network cable. A
backbone network can use fiber optics, for example, with small coaxial or twisted pair
cables from a junction box to the device. A machine-to-machine network is usually built
using twisted pair or coaxial cable. (With Ethernet, these cables are called 10Base-T and
10Base-2 respectively.) Until recently, these networks were limited to a throughput of
about 10 megabits per second (Mbps). A recent development of two slightly different
protocols called 100VG AnyLAN and Fast Ethernet allows 100mbps on this type of network,
though. Most small Linux networks use this topology, because it is inexpensive, easy to
wire and control, and relatively simple to administer.
The problem with the type of bus network that involves T-shaped connectors between the
backbone cable and the PC is that if one connector is taken off the network cable or the
network interface card malfunctions, the backbone is broken and must be tied together
again with a jumper of some sort. This can cause erratic behavior of the network or a
complete failure of all network traffic. To help avoid this problem, an alternate method
of connection to the network can be used. This method employs boxes with a number of
connectors (usually similar to telephone jacks, but wider) that connect between the box
and the PC network card. Disconnecting a cord from a PC to the box doesn't compromise the
integrity of the network as the box is still handling the backbone properly. The 10Base-T
Ethernet system uses this approach.
Another network topology is the ring network. Although most people think the network
cable is made into a physical loop joining into a large circle, that's not the case in the
most common form of ring network called Token Ring. The ring name comes from the design of
the central network device, which has a loop inside it to which are attached juntions for
cables of all the devices on the network.
With a Token Ring network, the central control unit is called a Media Access Unit, or
MAU. Inside the MAU is the cable ring to which all devices are attached, and which is
similar to the backbone in a bus network. IBM's Token Ring is the most commonly
encountered network system that uses a ring topology. Linux networks can be set up to use
Token Ring, but few are.
A star network is arranged in a structure that looks like a central star with branches
radiating from it. As you will see shortly, this is a common layout with twisted-pair
peer-to-peer networks. The central point of the star structure is called a concentrator,
into which plug all the cables from individual machines. One machine on the network
usually acts as the central controller or network server. A star network has one major
advantage over the bus and ring networks: when a machine is disconnected from the
concentrator, the rest of the network continues functioning unaffected. True star networks
are very seldom used for Linux, although a single Linux server in the center of a number
of terminals or PC clients is, in a sense, a star network. In some networks, such as
10Base-T (twisted pair), that use a box with cables snaking off to each device, the box
and cables make up a small star network, albeit in a larger bus topology.
The last type of topology that concerns us is called the hub network. It is similar to
the bus network in that it uses a backbone cable that has a set of connectors on it. The
cable is called a backplane in a hub network. Each connector leads to a hub device, which
leads off to network devices. This allows a very high speed backplane to be used, which
can be as long and complex as needed. Hub networks are commonly found in large
organizations that must support many network devices and need high speeds.
The hubs that lead off the backplane can support many devices, depending on the type of
connector. They can, for example, support hundreds of PC or Macintosh machines each, so a
hub network can be used for very large (tens of thousands of network devices) networks.
The cost of a hub network is high, though.
The type of cabling used in a network is called the network medium. Today, networks use
many types of cables, although only a few types are in common usage. Some of the more
exotic types of cables are very expensive. The type of cabling can have an influence on
the speed of the network, although for most small- to medium-sized local area networks
this is not a major issue.
Twisted pair cabling is one of the most commonly used network mediums because it is
cheap and easy to work with. Unshielded twisted pair cablesoften called
UTPlook just like the cable that attaches your household telephone to the wall jack.
Twisted pair cables have, as its name suggests, a pair of wires twisted around each other
to reduce interference. There can be two, four, or even more sets of twisted pairs in a
network cable.
Twisted pair cables usually attach to network devices with a jack that looks like a
telephone modular jack but is a little wider (supporting up to eight wires). The most
commonly used jacks are called RJ-11 and RJ-45, depending on the size of the connector
(and the number of wires inside). The RJ-11 connector is the same as the modular jack on
household telephones, holding four wires. The RJ-45 jack is wider than an RJ-11 and holds
eight wires.
A variation on unshielded twisted pair cables is shielded twisted pair, often called
STP. The shielded twisted pair cable has the same basic construction as its unshielded
cousin, but the entire cable is wrapped with a layer of insulation for protection from
interference, much like a cable for connecting speakers to your stereo system. The same
types of connectors are used with both forms of twisted pair cables.
Twisted pair cables have one major limitation. They only support one channel of data.
This is called baseband or single channel cabling. Other types of cables can support many
channels of data, although sometimes only one channel is used. This is called broadband or
multiple channel cabling. You can use twisted pair cabling for a small Linux network
without any problem, but a much easier and more economical (in the long run) system is to
use coaxial cable.
Coax cable is designed with two conductors, one (usually a number of strands
intertwined) in the center surrounded by a layer of inner insulation, and the second a
mesh or foil conductor surrounding the insulation. Outside the mesh is a layer of outer
insulation. Because of its reduced electrical impedance, coaxial is capable of faster
transmissions than twisted pair cables. Coax is also broadband, supporting several network
channels on the same cable.
Coaxial cables come in two varieties: thick and thin. Thick coax is a heavy, usually
yellow, cable that is used as a network backbone for bus networks. This cable is formally
known as Ethernet PVC coax, but is usually called 10Base5. Because thick coax is so heavy
and stiff, it is difficult to work with and is quite expensive. Linux systems that are
attaching to a large commercial network may have to use thick coax, but this is very
seldom encountered.
Thin coax is the most common type used in Ethernet networks used by Linux. It goes by
several names, including thin Ethernet, thinnet, 10Base2, and somewhat derogatorily as
cheapernet. Formally, thin coax is called RG-58. Thin coax is the same as your television
cable. The inner connector can be made of a single, solid copper wire or fashioned out of
thin strands of wire braided together. Thin coax is also used in other networks like
ARCnet, although the specification is known as RG-62.
Thin coax is quite flexible and has a low impedance so it is capable of fast throughput
rates. It is not difficult to lay out, because it is quite flexible, and it is easy to
construct cables with the proper connectors at each end. Thin coax is broadband, although
most networks use only a single channel.
Establishing a Linux TCP/IP network requires two components of hardware: the network
interface card (NIC) and the network medium. As with most things in life, you can opt to
go for an inexpensive card and medium or spend lots more money for full-featured items. As
the amount you spend increases, you get more functionality and benefits, although usually
with diminishing returns for your dollar.
Before deciding on the type of network interface cards to use (unless you already have
some), you should decide on the type of cabling the network will use so the connectors on
the network interface card can match. 10Base2 and 10Base-T are really the only two cables
that you'll want to consider. The alternatives are much more expensive or require special
hardware.
The most common choice is 10Base2 (Thin Ethernet). A 10Base2 network interface card has
a male plug jutting out from the back to which is attached a T-shaped connector. Both ends
of the T are attached to coaxial cables running to the two neighboring machines. If the
machine happens to be at the end of the chain, a terminating resistor plug is attached
instead (to electrically terminate the cable).
Once you've decided on the type of cabling, you can choose network interface cards with
the proper connectors. (You can use RJ-45 connectors with a 10Base2 network, and vice
versa, although you have to purchase special adapters which cost more than a new network
interface card.) Don't forget to check the bus architecture (local machine, not network
architecture) the card is designed for, because the same manufacturer may have ISA, EISA,
and MCA versions in the same packaging. It is a good idea to check the hardware
compatibility lists provided with each release of Linux to make sure that the network
cards you are considering purchasing have been tested and found to work properly with
Linux.
Many network interface cards provide more than one connector on the back plane of the
card. It is not unusual to have both a 10Base2 BNC and 10Base5 AUI (thick Ethernet, used
for much larger networks) connector on a single card, with either available for use. The
same applies to RJ-45 and 10Base5 AUI connectors. A few cards provide 10Base2 BNC and
10Base-T RJ-45 connectors in addition to the 10Base5 AUI connector. These provide the
ultimate in flexibility for the user and allow you to change your network from one format
to the other as your network grows or shrinks.
You can find network interface cards on the market from many different manufacturers,
including brand name vendors such as Novell, Artisoft, Intel, SMC, and Hewlett-Packard;
original equipment manufacturers (OEM); and some lesser-known brands, which are usually
cheaper. Most network interface cards are clearly labeled with the type of connector
(RJ-45 or BNC) and the network systems it supports.
Some network interface cards require you to manually select the card's parameters, such
as interrupt (IRQ) and interface address, by changing jumpers on the card. This can be
daunting for novices, as well as difficult if you are not sure whether a setting will
conflict with another card in your system. Watch the boot messages from Linux to see what
the potential conflicts might be, use a DOS-based utility, or simply experiment! It
doesn't hurt Linux to change settings, although you may end up with a frozen machine that
requires rebooting and cleaning.
More recently, auto-configuring cards have been appearing (such as the Intel
EtherExpress series) which use DOS- or Windows-based software to set the parameters. You
can use these features on a Linux system by booting into DOS (from a DOS boot disk or a
DOS partition) to set the parameters, and then moving back to Linux and use the set
parameters. Linux will recognize the card at those settings, as the hardware responds to
its requests.
This chapter has covered a lot of ground, ranging from TCP/IP to network cabling. However, now that the basics are out of the way, the next few chapters can focus on networking with Linux and connecting to the Internet.